#ifndef CIPHER_ALGORITHM_H_
#define CIPHER_ALGORITHM_H_
#pragma once

#include <fstream>
#include <iostream>
#include <string>
#include <time.h>
#include <math.h>

using namespace std;

class CipherAlgorithm{

public:
	CipherAlgorithm(void);

	virtual int init();

	virtual int generate_key(char* keyPath, int keySize);

	virtual int generate_bits(const int key_size);
	virtual int encrypt(int data, int key);
	virtual void encrypt_into_buffer(char* buffer, int pos, int size, int data, int key);

	virtual void display(void) const;

	virtual ~CipherAlgorithm(void);

};

#endif